package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.MallOrderRecord;

import java.util.*;
public class MallOrderRecordExample extends SgExample<MallOrderRecordExample.Criteria> {
    public static final Class<MallOrderRecord> beanClass = MallOrderRecord.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn recordId;
    public static EntityColumn changeTime;
    public static EntityColumn toStatus;
    public static EntityColumn fromStatus;
    public static EntityColumn tradeCode;
    public static EntityColumn tid;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        recordId = listMap.get("recordId");
        changeTime = listMap.get("changeTime");
        toStatus = listMap.get("toStatus");
        fromStatus = listMap.get("fromStatus");
        tradeCode = listMap.get("tradeCode");
        tid = listMap.get("tid");
        }

    public MallOrderRecordExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected MallOrderRecordExample.Criteria createCriteriaInternal() {
        return new MallOrderRecordExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public MallOrderRecordExample.Criteria andRecordIdIsNull() {
            return isNull(recordId);
        }

        public MallOrderRecordExample.Criteria andRecordIdIsNotNull() {
            return isNotNull(recordId);
        }

        public MallOrderRecordExample.Criteria andRecordIdEqualTo(Long value) {
            return equalTo(recordId, value);
        }

        public MallOrderRecordExample.Criteria andRecordIdNotEqualTo(Long value) {
            return notEqualTo(recordId, value);
        }

        public MallOrderRecordExample.Criteria andRecordIdGreaterThan(Long value) {
            return greaterThan(recordId, value);
        }

        public MallOrderRecordExample.Criteria andRecordIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(recordId, value);
        }

        public MallOrderRecordExample.Criteria andRecordIdLessThan(Long value) {
            return lessThan(recordId, value);
        }

        public MallOrderRecordExample.Criteria andRecordIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(recordId, value);
        }

        public MallOrderRecordExample.Criteria andRecordIdIn(List<Long> values) {
            return in(recordId, values);
        }

        public MallOrderRecordExample.Criteria andRecordIdNotIn(List<Long> values) {
            return notIn(recordId, values);
        }

        public MallOrderRecordExample.Criteria andRecordIdBetween(Long value1, Long value2) {
            return between(recordId, value1, value2);
        }

        public MallOrderRecordExample.Criteria andRecordIdNotBetween(Long value1, Long value2) {
            return notBetween(recordId, value1, value2);
        }
        public MallOrderRecordExample.Criteria andChangeTimeIsNull() {
            return isNull(changeTime);
        }

        public MallOrderRecordExample.Criteria andChangeTimeIsNotNull() {
            return isNotNull(changeTime);
        }

        public MallOrderRecordExample.Criteria andChangeTimeEqualTo(Date value) {
            return equalTo(changeTime, value);
        }

        public MallOrderRecordExample.Criteria andChangeTimeNotEqualTo(Date value) {
            return notEqualTo(changeTime, value);
        }

        public MallOrderRecordExample.Criteria andChangeTimeGreaterThan(Date value) {
            return greaterThan(changeTime, value);
        }

        public MallOrderRecordExample.Criteria andChangeTimeGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(changeTime, value);
        }

        public MallOrderRecordExample.Criteria andChangeTimeLessThan(Date value) {
            return lessThan(changeTime, value);
        }

        public MallOrderRecordExample.Criteria andChangeTimeLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(changeTime, value);
        }

        public MallOrderRecordExample.Criteria andChangeTimeIn(List<Date> values) {
            return in(changeTime, values);
        }

        public MallOrderRecordExample.Criteria andChangeTimeNotIn(List<Date> values) {
            return notIn(changeTime, values);
        }

        public MallOrderRecordExample.Criteria andChangeTimeBetween(Date value1, Date value2) {
            return between(changeTime, value1, value2);
        }

        public MallOrderRecordExample.Criteria andChangeTimeNotBetween(Date value1, Date value2) {
            return notBetween(changeTime, value1, value2);
        }
        public MallOrderRecordExample.Criteria andToStatusIsNull() {
            return isNull(toStatus);
        }

        public MallOrderRecordExample.Criteria andToStatusIsNotNull() {
            return isNotNull(toStatus);
        }

        public MallOrderRecordExample.Criteria andToStatusEqualTo(String value) {
            return equalTo(toStatus, value);
        }

        public MallOrderRecordExample.Criteria andToStatusNotEqualTo(String value) {
            return notEqualTo(toStatus, value);
        }

        public MallOrderRecordExample.Criteria andToStatusGreaterThan(String value) {
            return greaterThan(toStatus, value);
        }

        public MallOrderRecordExample.Criteria andToStatusGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(toStatus, value);
        }

        public MallOrderRecordExample.Criteria andToStatusLessThan(String value) {
            return lessThan(toStatus, value);
        }

        public MallOrderRecordExample.Criteria andToStatusLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(toStatus, value);
        }

        public MallOrderRecordExample.Criteria andToStatusLike(String value) {
            return like(toStatus, value);
        }

        public MallOrderRecordExample.Criteria andToStatusNotLike(String value) {
            return notLike(toStatus, value);
        }

        public MallOrderRecordExample.Criteria andToStatusIn(List<String> values) {
            return in(toStatus, values);
        }

        public MallOrderRecordExample.Criteria andToStatusNotIn(List<String> values) {
            return notIn(toStatus, values);
        }

        public MallOrderRecordExample.Criteria andToStatusBetween(String value1, String value2) {
            return between(toStatus, value1, value2);
        }

        public MallOrderRecordExample.Criteria andToStatusNotBetween(String value1, String value2) {
            return notBetween(toStatus, value1, value2);
        }
        public MallOrderRecordExample.Criteria andFromStatusIsNull() {
            return isNull(fromStatus);
        }

        public MallOrderRecordExample.Criteria andFromStatusIsNotNull() {
            return isNotNull(fromStatus);
        }

        public MallOrderRecordExample.Criteria andFromStatusEqualTo(String value) {
            return equalTo(fromStatus, value);
        }

        public MallOrderRecordExample.Criteria andFromStatusNotEqualTo(String value) {
            return notEqualTo(fromStatus, value);
        }

        public MallOrderRecordExample.Criteria andFromStatusGreaterThan(String value) {
            return greaterThan(fromStatus, value);
        }

        public MallOrderRecordExample.Criteria andFromStatusGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(fromStatus, value);
        }

        public MallOrderRecordExample.Criteria andFromStatusLessThan(String value) {
            return lessThan(fromStatus, value);
        }

        public MallOrderRecordExample.Criteria andFromStatusLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(fromStatus, value);
        }

        public MallOrderRecordExample.Criteria andFromStatusLike(String value) {
            return like(fromStatus, value);
        }

        public MallOrderRecordExample.Criteria andFromStatusNotLike(String value) {
            return notLike(fromStatus, value);
        }

        public MallOrderRecordExample.Criteria andFromStatusIn(List<String> values) {
            return in(fromStatus, values);
        }

        public MallOrderRecordExample.Criteria andFromStatusNotIn(List<String> values) {
            return notIn(fromStatus, values);
        }

        public MallOrderRecordExample.Criteria andFromStatusBetween(String value1, String value2) {
            return between(fromStatus, value1, value2);
        }

        public MallOrderRecordExample.Criteria andFromStatusNotBetween(String value1, String value2) {
            return notBetween(fromStatus, value1, value2);
        }
        public MallOrderRecordExample.Criteria andTradeCodeIsNull() {
            return isNull(tradeCode);
        }

        public MallOrderRecordExample.Criteria andTradeCodeIsNotNull() {
            return isNotNull(tradeCode);
        }

        public MallOrderRecordExample.Criteria andTradeCodeEqualTo(String value) {
            return equalTo(tradeCode, value);
        }

        public MallOrderRecordExample.Criteria andTradeCodeNotEqualTo(String value) {
            return notEqualTo(tradeCode, value);
        }

        public MallOrderRecordExample.Criteria andTradeCodeGreaterThan(String value) {
            return greaterThan(tradeCode, value);
        }

        public MallOrderRecordExample.Criteria andTradeCodeGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(tradeCode, value);
        }

        public MallOrderRecordExample.Criteria andTradeCodeLessThan(String value) {
            return lessThan(tradeCode, value);
        }

        public MallOrderRecordExample.Criteria andTradeCodeLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(tradeCode, value);
        }

        public MallOrderRecordExample.Criteria andTradeCodeLike(String value) {
            return like(tradeCode, value);
        }

        public MallOrderRecordExample.Criteria andTradeCodeNotLike(String value) {
            return notLike(tradeCode, value);
        }

        public MallOrderRecordExample.Criteria andTradeCodeIn(List<String> values) {
            return in(tradeCode, values);
        }

        public MallOrderRecordExample.Criteria andTradeCodeNotIn(List<String> values) {
            return notIn(tradeCode, values);
        }

        public MallOrderRecordExample.Criteria andTradeCodeBetween(String value1, String value2) {
            return between(tradeCode, value1, value2);
        }

        public MallOrderRecordExample.Criteria andTradeCodeNotBetween(String value1, String value2) {
            return notBetween(tradeCode, value1, value2);
        }
        public MallOrderRecordExample.Criteria andTidIsNull() {
            return isNull(tid);
        }

        public MallOrderRecordExample.Criteria andTidIsNotNull() {
            return isNotNull(tid);
        }

        public MallOrderRecordExample.Criteria andTidEqualTo(Long value) {
            return equalTo(tid, value);
        }

        public MallOrderRecordExample.Criteria andTidNotEqualTo(Long value) {
            return notEqualTo(tid, value);
        }

        public MallOrderRecordExample.Criteria andTidGreaterThan(Long value) {
            return greaterThan(tid, value);
        }

        public MallOrderRecordExample.Criteria andTidGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(tid, value);
        }

        public MallOrderRecordExample.Criteria andTidLessThan(Long value) {
            return lessThan(tid, value);
        }

        public MallOrderRecordExample.Criteria andTidLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(tid, value);
        }

        public MallOrderRecordExample.Criteria andTidIn(List<Long> values) {
            return in(tid, values);
        }

        public MallOrderRecordExample.Criteria andTidNotIn(List<Long> values) {
            return notIn(tid, values);
        }

        public MallOrderRecordExample.Criteria andTidBetween(Long value1, Long value2) {
            return between(tid, value1, value2);
        }

        public MallOrderRecordExample.Criteria andTidNotBetween(Long value1, Long value2) {
            return notBetween(tid, value1, value2);
        }
    }
}